package javawdw.io;

/**
 * 二进制文件或流读入器统一访问接口
 * 
 * @author David
 * 
 */
public interface BinaryReader {
	/**
	 * 读入一个字节数组
	 * 
	 * @param buf
	 *            读入内容存放的数组
	 * @return 若为false，说明已到流或文件结束位置,否则还可再读
	 */
	public int read(byte[] buf);

	/**
	 * 获得流或文件的最大估计字节数
	 * 
	 * @return 返回最大估计字节数
	 */
	public int available();

	/**
	 * 把读入器指针指向标记位置
	 */
	public void reset();

	/**
	 * 标记当前位置并限制读入字符的长度
	 * 
	 * @param readLimit
	 *            读入内容的长度限制
	 */
	public void mark(int readLimit);

	/**
	 * 关闭读入器
	 */
	public void close();
}
